package types

import (
	"encoding/json"
	"time"
)

type RespAlarm struct {
	Flag        string `json:"flag"`
	ThingId     string `json:"thing_id"`
	Mindex      int64  `json:"mindex"`
	ThingName   string `json:"thing_name"`
	AlarmId     string `json:"alarm_id"`
	AlarmName   string `json:"alarm_name"`
	StationId   string `json:"station_id"`
	StationName string `json:"station_name"`
	Level       int64  `json:"level"`
	Time        string `json:"time"`
	ClearTime   string `json:"clear_time"`
	MName       string `json:"m_name"`
	SubName     string `json:"sub_name"`
	GroupId     int64  `json:"group_id"`
	CatalogId   string `json:"catalog_id"`
	MessageId   int64  `json:"message_id"` // 消息id
	ModelId     string `json:"model_id"`
	//AlarmTotal  int64  `json:"alarm_total"`
}
type JsonTime time.Time

// MarshalJSON json序列化时间
func (t JsonTime) MarshalJSON() ([]byte, error) {
	return json.Marshal(time.Time(t).Format("2006-01-02 15:04:05"))
}

type RespEvent struct {
	Id          int64       `json:"id"`
	ThingId     string      `json:"thing_id"`
	EventID     string      `json:"event_id"`
	Time        JsonTime    `json:"time"`
	Level       int64       `json:"level"`
	Params      interface{} `json:"params"`
	StationName string      `json:"station_name"`
	EventName   string      `json:"event_name"`
	StationID   string      `json:"station_id"`
}

type ReqActiveAlarm struct {
	BasePage
	StationID string `form:"station_id" json:"station_id"`
	StartTime string `form:"start_time" json:"start_time"`
	EndTime   string `form:"end_time" json:"end_time"`
}

type ReqEventNotice struct {
	BasePage
	ThingId   string `form:"thing_id" json:"thing_id"`
	StartTime string `form:"start_time" json:"start_time"`
	EndTime   string `form:"end_time" json:"end_time"`
}
